#include"process.h"
#include<stdio.h>
#include<string.h>
#include<unistd.h>
#define NUM 101
#define STYLE '='

//void Process()
//{
//  const char* lable = "-*+";
//  int len = strlen(lable);
//  char bar[NUM];
//  memset(bar,'\0',sizeof(bar));
//  int cnt = 0;
//  while(cnt <= 100)
//  {
//    printf("[%-100s][%d%%][%c]\r",bar,cnt,lable[cnt%len]);
//    fflush(stdout);
//    bar[cnt] = STYLE;
//    cnt++;
//    bar[cnt] = '>';
//    if(cnt == 100)
//      bar[cnt] = '\0';
//    usleep(30000);
//  }
//
//  printf("\n");
//}

// version 2:真实的进度条，应该根据具体的比如下载量，来动态刷新进度
void Process(double current,double total)
{
  // 1. 更新当前进度的百分比
  double rate = current/total*100;
  //printf("test:%.1lf%%\r",rate*100);
  //fflush(stdout);

  //2.更新进度条主体
  char bar[NUM]; // 1%更新一个=
  memset(bar,'\0',sizeof(bar));

  int i = 0;
  for(i = 0;i < (int)rate;i++)
  {
    bar[i] = STYLE;
  }

  //3.test && printf
  printf("[%-100s][%.1lf%%]\r",bar,rate);
  fflush(stdout);
}
